home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / text / StyledEditorKit$AttributeTracker.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  1.9 KB  |  52 lines

  1. package javax.swing.text;
  2.  
  3. import java.beans.PropertyChangeEvent;
  4. import java.beans.PropertyChangeListener;
  5. import java.io.Serializable;
  6. import java.util.EventObject;
  7. import javax.swing.event.CaretEvent;
  8. import javax.swing.event.CaretListener;
  9.  
  10. class StyledEditorKit$AttributeTracker implements CaretListener, PropertyChangeListener, Serializable {
  11.    // $FF: synthetic field
  12.    private final StyledEditorKit this$0;
  13.  
  14.    StyledEditorKit$AttributeTracker(StyledEditorKit var1) {
  15.       this.this$0 = var1;
  16.    }
  17.  
  18.    public void caretUpdate(CaretEvent var1) {
  19.       this.updateInputAttributes(var1.getDot(), var1.getMark(), (JTextComponent)((EventObject)var1).getSource());
  20.    }
  21.  
  22.    public void propertyChange(PropertyChangeEvent var1) {
  23.       Object var2 = var1.getNewValue();
  24.       Object var3 = ((EventObject)var1).getSource();
  25.       if (var3 instanceof JTextComponent && var2 instanceof Document) {
  26.          this.updateInputAttributes(0, 0, (JTextComponent)var3);
  27.       }
  28.  
  29.    }
  30.  
  31.    void updateInputAttributes(int var1, int var2, JTextComponent var3) {
  32.       Document var4 = var3.getDocument();
  33.       if (var4 instanceof StyledDocument) {
  34.          int var5 = Math.min(var1, var2);
  35.          StyledDocument var6 = (StyledDocument)var4;
  36.          this.this$0.currentParagraph = var6.getParagraphElement(var5);
  37.          Element var7;
  38.          if (this.this$0.currentParagraph.getStartOffset() == var5) {
  39.             var7 = var6.getCharacterElement(var5);
  40.          } else {
  41.             var7 = var6.getCharacterElement(Math.max(var5 - 1, 0));
  42.          }
  43.  
  44.          if (var7 != this.this$0.currentRun) {
  45.             this.this$0.currentRun = var7;
  46.             this.this$0.createInputAttributes(this.this$0.currentRun, this.this$0.getInputAttributes());
  47.          }
  48.  
  49.       }
  50.    }
  51. }
  52.